<?
// 打开待处理的文件
$sFile = trim($argv[1]) ;
//if(empty($sFile))
//	$sFile = '/home/alee/Project/JeCat/JCAT0.2/trunk/JCAT.Framework_0.2.0/lib.php/Application/class.JCAT_Package.php' ;
$sFileContent = file_get_contents($sFile) ;


// 找到上次留下的  ID 
if( preg_match("|\/\*macro_exception_code:(\d+)\*\/|",$sFileContent,$arrRes) )
{
	echo $nId = $arrRes[1] ;
	$sIdMarkExists = $arrRes[0] ;
}
else
{
	$nId = 0 ;
	$bIdMarkExists = '' ;
}

// 依次 处理
while( preg_match('/__macro_exception_code__/',$sFileContent) )
	$sFileContent = preg_replace('/__macro_exception_code__/','JCAT_Exception::MakeExceptionCode(__CLASS__,'.(++$nId).')',$sFileContent,1) ;

// 留下Id
echo $sIdMarkExists ;
if($sIdMarkExists)
	$sFileContent = str_replace($sIdMarkExists,"/*macro_exception_code:{$nId}*/",$sFileContent) ;
else
	$sFileContent = str_replace('?>',"/*macro_exception_code:{$nId}*/\r\n?>",$sFileContent) ;


// 保存
echo $sFileContent ;
file_put_contents($sFile,$sFileContent) ;
?>